<!DOCTYPE group PUBLIC 
  "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<group>
<h1 align="center">SIFT</h1>
<a href="#NAME">NAME</a><br />
<a href="#SYNOPSIS">SYNOPSIS</a><br />
<a href="#OPTIONS">OPTIONS</a><br />
<a href="#DESCRIPTION">DESCRIPTION</a><br />
<a href="#EXAMPLES">EXAMPLES</a><br />
<a href="#SEE%20ALSO">SEE ALSO</a><br />
<hr />
<h2>NAME <a name="NAME" id="NAME"></a></h2>
<p style="margin-left:11%; margin-top: 1em">sift &minus; Scale
Invariant Feature Transform</p>
<h2>SYNOPSIS <a name="SYNOPSIS" id="SYNOPSIS"></a></h2>
<p style="margin-left:11%; margin-top: 1em"><b>sift</b>
[<i>options</i>] FILE ...</p>
<h2>OPTIONS <a name="OPTIONS" id="OPTIONS"></a></h2>
<p style="margin-left:11%; margin-top: 1em"><b>&minus;v</b>,
<b>&minus;&minus;verbose</b></p>
<p style="margin-left:22%;">Increase verbosity level (may be
repeated).</p>
<p style="margin-left:11%;"><b>&minus;h</b>,
<b>&minus;&minus;help</b></p>
<p style="margin-left:22%;">Show options and version.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;output</b>[=<i>FILESPEC</i>],
<b>&minus;o</b><i>FILESPEC</i></p>
<p style="margin-left:22%;">Enable/specify seeds output.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;frames</b>[=<i>FILESPEC</i>]</p>
<p style="margin-left:22%;">Enable/specify frames output.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;descriptors</b>[=<i>FILESPEC</i>]</p>
<p style="margin-left:22%;">Enable/specify descriptors output.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;gss</b>[=<i>FILESPEC</i>]</p>
<p style="margin-left:22%;">Enable/specify the Gaussian Scale Space
(GSS) output.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;meta</b>[=<i>FILESPEC</i>]</p>
<p style="margin-left:22%;">Enable/specify meta output.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;first-octave</b>=<i>INTEGER</i></p>
<p style="margin-left:22%;">Specifiy the index of the first octave
of the GSS.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;edge-thresh</b>=<i>REAL</i></p>
<p style="margin-left:22%;">Specify the edge threshold.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;peak-thresh</b>=<i>REAL</i></p>
<p style="margin-left:22%;">Specify the peak threshold.</p>
<p style="margin-left:11%;">
<b>&minus;&minus;read-frames</b>[=<i>FILESPEC</i>]</p>
<p style="margin-left:22%;">Enable/specify reading the frames from
a file. <b>&minus;&minus;orientations</b> Force the computation of
the frame orientations.</p>
<h2>DESCRIPTION <a name="DESCRIPTION" id="DESCRIPTION"></a></h2>
<p style="margin-left:11%; margin-top: 1em"><b>sift</b> computes
the <i>Scale Invariant Feature Transform (SIFT).</i> <b>sift</b>
reads an image file (in PGM format), computes the SIFT frames and
their descriptors and write them to a file. Alternatively,
<b>--frames</b> option can be used to suppress the standard output
and produce a file with the feature frames only. Similarly,
<b>--descriptors</b> suppresses the standard output and produce a
file of descriptors only. <b>--output</b> can be used in
combination with the previous too if the combined output of frames
and descriptors is required.</p>
<p style="margin-left:11%; margin-top: 1em">The
<b>--read-frames</b> option bypasses the SIFT detector and reads
the frames from the specified file. This option can be used iin
combination with <b>--orientations</b> to read the frames but
calculate their orientations anyway. Both option do not change how
the frames and the descriptors are written to disk. Notice that if
<b>--orientations</b> is used, the number of frames may change if
multiple orientations are detected).</p>
<p style="margin-left:11%; margin-top: 1em">A frame is an oriented
ellipse (also called affine frame) and is specified by 6 floating
point numbers (in order: coordinate of the center <i>x</i> and
<i>y,</i> and elements <i>A11</i>, <i>A21</i>, <i>A21</i>,
<i>A22</i> of the matrix mapping the unit circle to the ellipse). A
feature descriptor is an histogram. It is specifyied by 128
non-negative integer numbers.</p>
<p style="margin-left:11%; margin-top: 1em"><b>sift</b> can process
multiple images and derive the names of the various output files by
means of <i>FILESPEC</i> (see <b>vlfeat</b>(7)). Both frames and
descriptors can be saved/loaded either in ascii or binary
format.<br />
Ascii format</p>
<p style="margin-left:22%;">Each descriptor is a list of 128
decimal numbers and occupies a line of text. Each frame is a list
of 5 numbers, specifying an elliptical frame, one per line of text.
The combined output file (with both frames and descriptors) stores
a frame <i>and</i> the corresponding descriptor for each line of
text.</p>
<p style="margin-left:11%;">Binary format</p>
<p style="margin-left:22%;">The binary format is similar to the
ASCII format, except that each frame element is stored as an IEEE
double floating point number (eight bytes) and each descriptor
element is stored as an unsiged integer (one byte). The data is
written in little endian order.</p>
<h2>EXAMPLES <a name="EXAMPLES" id="EXAMPLES"></a></h2>
<p style="margin-left:11%; margin-top: 1em">sift test.pgm
--peak-thresh=0.03</p>
<p style="margin-left:22%;">Caluclates the SIFT frames and
descriptors of image <i>/tmp/myimage.pgm</i> with peak threshold
equal to 0.03 and save them back to <i>test.sift</i> in ascii
format.</p>
<p style="margin-left:11%;">sift test.pgm --frames</p>
<p style="margin-left:22%;">Writes the frames to <i>test.frame</i>
in ascii format and does not compute the descriptors.</p>
<p style="margin-left:11%;">sift test.pgm --descriptors=bin://</p>
<p style="margin-left:22%;">writes only the frames to
<i>test.descr.</i> in binary format.</p>
<p style="margin-left:11%;">sift test.pgm
&minus;&minus;frames=my.frames -o bin:///tmp/%.sift</p>
<p style="margin-left:22%;">writes the frames in ascii format to
<i>my.frames</i> and the combined frames-descriptors file in binary
format to <i>/tmp/test.sift</i>.</p>
<p style="margin-left:11%;">sift test1.pgm test2.pgm
&minus;&minus;read-frames=bin:/tmp/%.key</p>
<p style="margin-left:22%;">reads the frames of images
<i>test1.pgm</i> and <i>test2.pgm</i> from the binary files
<i>/tmp/test1.key</i> and <i>/tmp/test2.key</i> and writes the
frames and their descriptors to the files <i>test1.sift</i> and
<i>test2.sift</i> respectively.</p>
<h2>SEE ALSO <a name="SEE ALSO"></a></h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlfeat</b>(7).</p>
<p style="margin-left:11%; margin-top: 1em">D. G. Lowe. Distinctive
image features from scale-invariant keypoints. <i>IJCV</i>,
2(60):91-110, 2004.</p>
<hr />
</group>
